Bridging mesh device controller for implementing a scene

ABSTRACT

A device controller can include one or more touch sensors, an exterior panel, and a wireless transceiver to communicate with a local network of smart devices and one or more intermediary devices for transmitting scene commands for implementation by a second device controller. The device controller may create a mesh bridge with the one or more intermediary devices to establish a communication link with the destination controller and generate and transmit a set of scene commands via the mesh bridge to the destination controller to cause the destination controller to execute the scene.

RELATED APPLICATIONS

This application claims benefit of priority to each of (i) ProvisionalU.S. Patent Application No. 62/957,310, filed Jan. 5, 2020; and (ii)Provisional U.S. Patent Application No. 62/957,297, filed Jan. 5, 2020.Each of the aforementioned priority applications are hereby incorporatedby reference in their respective entireties.

TECHNICAL FIELD

This application relates to device controllers, and more specifically,bridging mesh device controller for implementing a scene.

BACKGROUND

Home control systems, such as lighting control systems used for lightingfixtures, include binary analog switches and analog dimmer switches thatenable users to control one or more lights wired to an electrical boxupon which such switches are connected. Furthermore, when a personwishes to activate or interact with home systems, the person typicallymust interact with an actual device of the system or a dedicated oruniversal remote control and manually create an environment comprisingactivated or dimmed lights, audio system output, visual system output(e.g., a television or digital picture frame output), temperature, andthe like.

BRIEF DESCRIPTION OF THE DRAWINGS

The disclosure herein is illustrated by way of example, and not by wayof limitation, in the figures of the accompanying drawings in which likereference numerals refer to similar elements, and in which:

FIG. 1A and FIG. 1B illustrate an example device controller, accordingto one or more examples described herein;

FIG. 2 illustrates an example of a distributed system of devicecontrollers operable to control any number of smart devices, accordingto various embodiments;

FIG. 3A illustrates a smart home environment in which an example sceneis generated in accordance with various aspects described herein;

FIG. 3B illustrates an example gesture performed by a user on a devicecontroller to implement a scene for a local network of smart devicesoperated by a second device controller, according to various examples;

FIG. 4 illustrates an example of a control device executing a meshbridge to communicate a set of control commands to implement a scene ina local network or another device controller;

FIGS. 5A and 5B are flow charts describing example methods ofimplementing a scene using one or more device controllers, according toone or more examples;

FIG. 6A is a flow chart describing an example method of implementing ascene via a mesh bridge, according to examples described herein;

FIG. 6B illustrates an example method for operating a device controllerto implement a scene in multiple segments of a dwelling, according toone or more embodiments; and

FIG. 7 is a hardware diagram illustrating a processing device upon whichexample control devices described herein may be implemented.

DETAILED DESCRIPTION

In examples, a device controller detects user inputs in a firstlocation, and then communicates an instruction based on the user inputto a second device through one or more wireless intermediary devices.The wireless intermediary devices can be used to extend a wireless rangeof the control device. Specifically, each home device controller candirectly operate a local network of smart home devices through wirelesscommands based on gesture inputs performed on a sensory panel of thecontroller. A smart home environment can include multiple devicecontrollers each operable to control a local network of smart homedevices (e.g., lights, audio systems, appliances, television sets,etc.). According to examples described herein, unique gesture inputs ona device controller may cause the controller to establish a mesh bridgethrough an intermediary device (e.g., a wireless hub, smartphone,another device controller, etc.) to transmit control commands to arecipient device controller having its own local network of smart homedevices. The gesture inputs performed on one sending controller cancause the smart home devices in the recipient controller's local networkto create a scene (e.g., in a different room than the sendingcontroller's location), as described herein.

In various embodiments, a device controller includes an exterior paneland a sensing module. In certain examples, the sensing module detectsand interprets the touch input of the user as one of multiple possibleinputs that ultimately control one or more home devices or create ascene in a particular area (e.g., a room in a house).

In various examples, the device controller operates to interpret any oneof multiple possible touch inputs of a user, and implement a set ofoperations that are pre-associated with the interpreted touch input. Forexample, the multiple possible touch inputs can correspond to gestures,such as tap actions (e.g., single, double, triple, or more taps), one ormore long touches, slides (e.g., continuous touching motion of user inany direction). Still further, gestures can include more complexmotions, such as multi-directional inputs, or patterned inputs (e.g.,long touch followed by short tap).

In some examples, the device controller can comprise an intelligentlight switch that includes functionality for switching and dimminglights of a dwelling. In such examples, the device controller can selectand implement a scene that corresponds to a detected input action of theuser. The home device controller can be wirelessly connected to one ormore smart home devices or systems (e.g., a smart light, temperaturecontrol system, audio or entertainment system, etc.). In certainimplementations, the home device controller can be wired to a homedevice (e.g., a light) using existing home wiring (e.g., light switchwiring) of a household. A user can interact with the home devicecontroller via touch gesture input to remotely operate a local networkof home devices connected to the home device controller.

In certain examples, the user can implement a scene for a portion of adwelling (e.g., bedroom, kitchen, living room, etc.), where the sceneidentifies preset settings for one or multiple devices in the portion ofthe dwelling. In various examples, multiple control devices can be usedto implement different scenes in different portions (e.g., rooms) of thedwelling. For example, the user can input a double tap on the externalpanel of the device controller in a first room to implement a firstscene for that room, and input a double tap (or other gesture) on thesame device controller to implement another scene in another room.

In at least some examples, the device controller includes at least onegroove formed on the exterior panel to receive at least a first type ofinput (e.g., a slide input to dim a connected light). Additionally, thetouch-sensitive panel includes one or more surrounding regions that arecapable of receiving at least a second type of input. In response toreceiving a touch input from a user, the device controller performs anoutput function to control one or more connected devices, wirelessly orwired, based on the interpreted touch input.

Described herein are examples of “home device controllers,” “smartdevice controllers” or simply “device controllers,” which may be usedinterchangeably throughout. Such “home devices” are not limited tocontrollable or smart home devices within a household, but may be anyremotely operable smart device in any setting (e.g., outdoors, in abusiness environment, etc.). Thus, the term “home” is termed in relationto any system environment where the distributed system of home devicecontrollers is installed, and can include households, office spaces,other indoor spaces of businesses or other entities, outdoor spaces, andthe like. For example, a smart device described herein as a home devicecan comprise a remotely operable sprinkler system, computing device,television or entertainment system, sprinkler system, kitchen devices(e.g., a stove, oven, refrigerator, coffeemaker, tea kettle, toaster,etc.), security system, garage door, gate, mailbox, doors, window shadeactuators, fans, etc. A home device can also comprise a device wired tothe home device controller (e.g., via standard light wiring) andtraditionally operable by an analog light switch or dimmer switch. Suchwired devices can include lights, fans, etc.

Techniques described herein comprise the use of device controllers eachoperating a local network of home devices (e.g., smart home devices) forimplementing scenes using the local network of smart devices (e.g.,connected and load devices) based on configured associations betweenunique gesture inputs and the scenes themselves. In certain examplesdescribed herein, a scene may be implemented in any part of a dwellingfrom the unique gesture input being performed on any other devicecontroller within the dwelling (e.g., via one or more intermediarydevices).

As used herein, a device controller can comprise a computing device andcan provide network connectivity and processing resources forcommunicating with a local network of home devices and a distributedsystem of device controllers over one or more networks. The devicecontroller can also comprise custom hardware, and in certain examples,can also operate a designated application configured to communicate withthe network of home device controllers.

One or more examples described herein provide that methods, techniques,and actions performed by a computing device are performedprogrammatically, or as a computer-implemented method. Programmatically,as used herein, means through the use of code or computer-executableinstructions. These instructions can be stored in one or more memoryresources of the computing device. A programmatically performed step mayor may not be automatic.

One or more examples described herein can be implemented usingprogrammatic modules, engines, or components. A programmatic module,engine, or component can include a program, a sub-routine, a portion ofa program, or a software component or a hardware component capable ofperforming one or more stated tasks or functions. As used herein, amodule or component can exist on a hardware component independently ofother modules or components. Alternatively, a module or component can bea shared element or process of other modules, programs or machines.

Some examples described herein can generally require the use ofcomputing devices, including processing and memory resources. Memory,processing, and network resources may all be used in connection with theestablishment, use, or performance of any example described herein,including with the performance of any method or with the implementationof any system.

Furthermore, one or more examples described herein may be implementedthrough the use of instructions that are executable by one or moreprocessors. These instructions may be carried on a non-transitorycomputer-readable medium. Machines shown or described with figures belowprovide examples of processing resources and computer-readable mediumson which instructions for implementing examples disclosed herein can becarried and/or executed. In particular, the numerous machines shown withexamples of the invention include processors and various forms of memoryfor holding data and instructions. Examples of non-transitorycomputer-readable mediums include permanent memory storage devices, suchas hard drives on computing devices, such as the home device controllersdescribed herein. Other examples of computer storage mediums includeportable storage units, such as flash drives or flash memory (such asthose included in smartphones, multifunctional devices or tabletcomputers). Computers, terminals, network-enabled devices (e.g., mobiledevices or home device controllers described herein) are all examples ofmachines and devices that utilize processors, memory, and instructionsthat may be stored on computer-readable mediums. Additionally, examplesmay be implemented in the form of computer-programs, or a computerusable carrier medium capable of carrying such a program.

Example Device Controller

FIG. 1A and FIG. 1B illustrate an example device controller, accordingto one or more examples described herein. As described with someexamples, the device controller 100 can be wall-mounted or otherwiseprovided in a dwelling or room to control operational aspects of a setof controlled devices 125, based on touch input of the user. Inexamples, the device controller 100 detects multiple types of inputs,including gesture input, at multiple regions of the exterior panel 110.In turn, the device controller 100 can control operational aspects ofthe controlled devices 125 based on the type of input and/or thelocation of the input. Additionally, the device controller 100 canautomatically implement one or multiple scenes based on the type oftouch input and/or the location of the touch input. For example,individual scenes can be associated with particular gestures (or touchinput types) and/or regions where the touch input is received. When thedevice controller 100 detects a particular input type and/or locationwhich is associated with a specific scene, the device controller 100performs operations that cause each device associated with the specificscene to operate in accordance with a predefined operational aspect.

In examples, the exterior panel 110 overlays touch sensors (e.g., alayer of capacitive sensors), such that touch input can be detected andinterpreted at various locations over a substantial portion of theexterior panel 110. Sill further, the device controller 100 can bestructured to detect touch input which is received at any location ofthe exterior panel 110.

In some examples as shown, the exterior panel 110 includes a touchgroove 116 which designates a region where a user can provide aparticular type of touch input. In variations, the exterior panel 110includes multiple input grooves that designate areas where touch inputcan be received. In other variations, other forms of three-dimensionaltouch input features can be used in place of or in addition to the touchgroove 116. In such examples, the device controller 100 can receiveadditional types of touch input on regions of the exterior panel 110which surround the touch groove 116 and/or other three-dimensionalfeatures.

According to examples, the device controller 100 includes a housingstructure 104 having an exterior panel 110 and a base assembly 112 thatincludes a control module 120. The device controller 100 can bewall-mounted, with the base assembly 112 being provided within, forexample, a wall receptable or recess, and the exterior panel 110 forminga thickness over the corresponding wall. In such examples, the baseassembly 112 can further include an electrical interface 122 toelectrically connect the device controller 100 to a power supply line ofa dwelling. The electrical interface 122 can include wiring andswitching elements to enable control module 120 to generate a switchingoutput that controls the configuration of the switching elements of theelectrical interface 122.

As described with some examples, the controlled devices 125 can includeload devices and connected devices. Load devices refer to devices whichhave power supply lines (sometimes referred to as “load lines”) that arecontrollable by the control device. Controlled devices refer to devicesthat have wireless or wireline communication interfaces that can receivecommands from the device controller 100. Still further, controlleddevices can include devices that can be controlled through power supplyswitching and commands. For example, many conventional-type load devicesinclude wireless receivers (e.g., WiFi-enabled lighting devices), andsome types of devices can receive communications through a powerlinecommunication medium. In examples, the device controller 100 canimplement a predetermined setting (or settings) that corresponds to anoperational aspect of a controlled device using switching configurationson power supply lines of load devices and/or commands signaled throughwireless or wireline mediums of connected devices.

The device controller 100 can control the operational aspect of a loaddevice by controlling a power supply to the respective device. Forexample, the controlled device(s) 125 can include a set of load devices(e.g., light switch, ceiling fan, thermostat, etc.) which connectdirectly to a power line of a dwelling. In such cases, the devicecontroller 100 can be wall-mounted to function as a switch (e.g., lightswitch) that controls the power supply to such devices. Through controlof the power supply, the device controller 100 can control operationalaspects of load devices, such as whether the load devices are on or offand/or the operational level of the load devices (e.g., dim level oflights, fan speed of ceiling fan, etc.). To implement a scene using suchtypes of controlled devices 125, the device controller 100 can implementone or more switching type operations to control operational aspectssuch as on/off and power levels (e.g., dimmed lights, ceiling fan speed,etc.) of the controlled devices 125. The device controller 100 canimplement the switching operations or configurations via, for example,switching elements of the electrical interface 122.

As an addition or variation, the device controller 100 controls theoperational aspect of one or more controlled devices 125 by performingoperations that include signaling one or more commands to the controlleddevice(s) 125, where the commands cause the controlled device toimplement a particular operational aspect. In some examples, the controldevice includes a wireless transceiver that can wirelessly signalcommands to the controlled device 125, either directly or indirectlythrough an intermediate device. As an addition or variation, the devicecontroller 100 can signal commands to the controlled device using awireline connection.

In some examples, the device controller 100 can have a primary functionof operating as a light switch to control a set of load devices,including lights, ceiling fan and power outlets. As described with someexamples, the device controller 100 can also control one or moreconnected devices (e.g., appliance, security camera, a security system,a door lock, a television, an audio (or media) system, or other types ofdevices) via, for example, a wireless interface.

The exterior panel 110 can include multiple input regions where touchinput can be detected and interpreted. In some examples, the inputregions of the exterior panel 110 include touch groove 116, and one ormore regions that surround the touch groove 116. The touch groove 116can be structured as an elongated (e.g., vertically elongated)indentation within the exterior panel 110, and the surrounding region(s)of the touch panel can be flat or substantially two-dimensional. In suchexamples, the device controller 100 can receive touch input within or onthe touch groove 116 (e.g., swipe in direction of groove), as well as onthe surrounding regions to the touch groove 116. The device controller100 can further map or otherwise interpret touch input differently,depending on whether the particular region where the input is received.For example, a touch input received within the touch groove 116 can beinterpreted as a first command, while a touch input received on thesurrounding regions of the exterior panel 110 can be interpreted as asecond command.

Still further, in some examples, the device controller 100 can detectand interpret touch input received at any location of the exterior panel110. Thus, for example, a touch input can be received or extended on ornear a corner or perimeter region of the exterior panel 110. The devicecontroller 100 can respond by implementing an output operation thatcontrols an operational aspect of a device or set of devices. Stillfurther, the device controller 100 can implement a scene whereoperational aspects of one or multiple controlled devices 125 arecontrolled, in accordance with predetermined settings (e.g., as definedby a scene) for the respective controlled devices.

With respect to examples as described, the device controller 100 candetermine characteristics of a touch input from which the devicecontroller 100 can detect and interpret input. Further, the devicecontroller 100 can map or otherwise interpret a detected gesture as aspecific input. In response, the device controller 100 can implement anoperation one or more operations (e.g., switching functions, commandtransmissions) to control operational aspects of one or more controlleddevices 125. By way of example, the device controller 100 can controloperational aspects of a set of controlled devices 125 in a dwelling(e.g., room in house), where the set of controlled devices 125 caninclude one or more devices selected from, for example, a group thatincludes a lighting device, a ceiling fan, a thermostat, an appliance, asecurity camera, a security system, a door lock, a television, an audio(or media) system, or other types of devices.

In certain implementations, the device controller 100 can be implementedas a wall-mounted control device that interprets touch inputs fromusers, and further interprets detected touch inputs to controloperational aspects of a set of controlled devices 125. As an additionor variation, the device controller 100 detects touch input as gestures,and further control operation aspects of multiple controlled devices 125at one time based on the detected gestures. Still further, as describedwith some examples, the device controller 100 implements a scene inresponse to detecting corresponding touch inputs on the exterior panel110. For device controller 100, each scene can represent (i) a selectionof one or more devices of a set of controlled devices 125, and (ii) anoperational setting of each controlled device 125 of the selection. Thedevice controller 100 can associate a gesture with a scene, such thatwhen the device controller 100 detects the user providing a touch inputthat is detected as the gesture, the device controller 100 automaticallyimplements the scene. By implementing the scene, the device controller100 performs operations which result in implementation of theoperational aspect of each controlled device 125, such that eachcontrolled device operates at a particular setting or set of settings.The device controller 100 can implement the operational aspect by, forexample, controlling a power supply for the controlled device 125 (e.g.,lights) and/or by sending one or more commands to individual devices ofthe selection, to cause each of the respective devices to operate withthe predetermined operational setting.

By way of illustration, the device controller 100 interprets (i) a firstuser gesture (e.g., a lateral swipe gesture) as on/off input, and thedevice controller 100 responds to the input by causing a firstcontrolled device (e.g., light) to switch on or off; and (ii) a secondgesture (e.g., a slide or touch and drag gesture on touch groove 116),as a range value setting command (e.g., dimming) for the firstcontrolled device or for one or more second controlled devices. By wayof example, gesture input can be used for on/off and/or dimming controlon a set of connected lights of a dwelling.

Still further, the device controller 100 can interpret one or more touchinputs as being associated with a user specified setting of one or morecontrolled devices 125 (e.g., an audio device, an entertainment system,etc.). The device controller 100 can implement a setting, or set ofsettings, based on predetermined values specified by a scene.

In certain examples, the control module 120 includes an interface 122 toelectrical and switching elements that power and control one or more ofthe controlled devices 125. When mounted, the interface 122 can beelectrically connected to the electrical and switching elements, whichcan be housed within an electrical box or gang box (e.g., replacing anexisting light switch and utilizing the existing line and load wiring).Accordingly, the exterior panel 110 can be mounted to be flush or nearlyflush with an underlying wall, while the control module 120 andinterface 122 can be housed within the electrical box.

In certain implementations, the control module 120 includes a circuitboard that includes touch-sensitive sensors that generate reactivesignals in response to touch inputs performed on the exterior panel 110.The device controller 100 can also include wireless communicationresources to enable wireless communications with other devices. In someexamples, the circuit board of the control module 120 can include one ormore wireless transceivers and associated logic to enable the controlmodule 120 to receive instructions and data from a user's mobile device,wireless hub, base station controller, and/or other device controllers.In such examples, the wireless transceiver enables the device controller100 to communicate with one or more devices in a local network of thedevice controller using Bluetooth, Wi-Fi, cellular, or other wirelesscommunication protocol. A user can, for example, operate a mobile deviceto specify which particular devices of the dwelling are to be controlledby the device controller 100, and can further customize gestures thatcan be interpreted to control multiple smart devices with a singlegesture input, as described below.

Additionally, once the device controller 100 is installed and configuredto control a group of devices in its local network of devices (e.g.,located in the same room as the device controller 100), the user canoperate an application on a mobile computing device to configure thedevice controller 100, using, for example, a Bluetooth or Wi-Ficonnection formed via the wireless transceiver. In some examples, a usercan use an application running on a mobile device to wirelessly accessand configure the device controller 100. Among other configurations, thedevice controller 100 can be configured to associate one or moregestures with one or more scenes, where each scene specifies a set ofsettings or operational aspects for one or more controlled devices. Fora given device controller 100, a user can operate an application toassociate a gesture with a scene, where the scene is defined by a set ofcontrolled devices 125 (e.g., lights, audio system, smart home devices,etc.) that the device controller 100 can communicate with and/orcontrol, to cause the controlled devices 125 to implement one or morescenes (e.g., a dim setting for the lights, switching devices on or off,setting a device to a particular channel, a volume setting for a device,etc.). In various examples, the control operations and settings can bespecific to each controlled device that is used to implement a scene.For example, in a given scene, the control operations for anentertainment system can include turning the entertainment system on,adjusting its volume, and tuning the entertainment system to aparticular channel. In further examples, the same scene can includelight settings, such as a specific dim level to create a desiredambiance, and even settings for certain smart home appliances (e.g.,turning on a coffee maker, an automatic pet feeder, drawing automaticwindow shades, and the like.

According to example provided herein, the user can install multipledevice controllers 100 in multiple rooms or portions of a dwelling(e.g., a home, a place of business, an outdoor patio and/or backyard,etc.), and further configure each device controller 100 to implement aparticular scene that is specific to a dedicated room or portion of thedwelling. In this manner, each device controller 100 can directlyoperate a local network of controlled devices 125 (e.g., smart devices).

In one implementation, the device controller 100 can detect touch inputson any region of the exterior panel 110. When the touch input isdetected as a gesture having a pre-associated scene, the devicecontroller 100 executes a series of control operations to implement theconfigured settings on its local network of smart devices. The controlmodule 120 includes sensor logic to interpret the reactive signalsgenerated from the gesture inputs performed on the exterior panel 110,including logic to identify locations on the panel 110 where the gestureinput occurred, and interpret the gesture inputs to implement a scenethrough control commands to a specified set of controlled devices (e.g.,connected smart devices).

In certain examples, the control module 120 can include logic toaccurately interpret instances when the user's touch input is a tap,slide, or other type of touch input. In such examples, the controlmodule 120 can interpret a gesture based on one or more characteristicsof the touch-input, including characteristics corresponding to an amountof movement which occurred when the user contacted the panel 110, a pathof the movement, a duration in time of the contact, a location on theexterior panel 110 where the touch input is detected, initiated, and/orcompleted, and/or whether another touch was detected on the externalpanel 110 within a following time interval of a prior touch or contactwith the exterior panel 110 (e.g., a double tap, slide and tap, etc.).

Distributed Device Controller System

FIG. 2 illustrates an example of a distributed system of devicecontrollers operable to control any number of controlled devices,according to various embodiments. Each device controller 202, 212, 222,232, shown in FIG. 2 can comprise an example of a device controller 100as shown and described with respect to FIGS. 1A and 1B. Referring toFIG. 2, the distributed system 200 can be installed in a smart homeenvironment (e.g., including places of business, outdoor areas,commercial spaces, and the like) and can include any number of devicecontrollers 202, 212, 222, 232 each having a local network of any numberof controlled devices 204, 214, 224, 234. A user may interact with anyindividual device controller (e.g., home device controller 202) tooperate any controlled device within the local network 204 of thatdevice controller 202, including any controlled device in the localnetworks 214, 224, 234 of the remaining device controller 212, 222, 232in the distributed system 200 via a mesh bridge 240 that connects eachof the home device controllers 202, 212, 222, 232 with each other.

In various examples, the system 200 can provide a recording functionthrough connection with any of the home device controllers 202, 212,222, 232 that enables the user to implement a scene. In some examples, auser selection of the recording function (e.g., through a user interfaceof a designated application executing on the user's mobile device) cancause the system 200 to record scenes and associated gestures that causeeach scene to be implemented. The user may, for example, set atemperature, a fan speed, a lighting dim level, a digital photoarrangement (e.g., on a television or digital picture frame system), anaudio player, and the like to create a particular scene.

According to implementations provided herein, the user can furtherconfigure a scene—via a gesture input with one device controller—in adifferent device controller's local network. As an example, devicecontroller 232 may be installed in a garage and have a local network ofcontrolled devices 234 comprising a pair of lights and smart device 5(e.g., a garage door opener). In certain implementations, the user canconfigure a gesture input for device controller 232 that creates a sceneusing controlled devices of one or more other local networks 204, 214,224 of the other device controllers 202, 212, 222. Specifically, using adesignation application on the user's computing device, the user canlink with device controller 232, configure a unique gesture input (e.g.,an “S” input with a tap) that causes device controller 232 to generate aset of control commands to be transmitted via a mesh bridge 240 andreceived by a receiving device controller (e.g., device controller 222in the living room).

In various examples, the mesh bridge 240 can be facilitated by any typeof wireless communication device or multiple wireless communicationdevices, such as wireless hubs (as shown), personal computers, mobilecomputing devices, wireless repeaters, other device controllers, and thelike. Continuing with the example of FIG. 2, the user can perform theunique gesture on device controller 232, which can cause the controller232 to generate and transmit a set of control commands to one or moredestination device controllers to implement the configured scene(s). Insome aspects, the transmission of the control commands can involve oneor more hops through the mesh bridge 240 before being received at thereceiving controller. Furthering the example, when the user arrives athome, the unique gesture performed on device controller 232 in thegarage can implement a scene in the living room of the home, which caninclude, for example, any number of smart devices 224 directly operatedby device controller 222. The unique gesture performed on controller 232in the garage can cause the controller 232 to determine the destinationcontroller 222, establish a wireless link with the destinationcontroller 222 via the mesh bridge 240, generate a set of commands thatenable the destination controller 222 to implement the scene associatedwith the unique gesture, and transmit the commands to the destinationcontroller 222 via the mesh bridge 240 for implementation. Uponreceiving the commands from the originating controller 232, thedestination controller 222 can generate a set of control commands andtransmit them to the respective smart devices in its local network 224to implement the scene.

In one example, the user may have a routine in which upon arriving athome, the user listens to a particular radio station on an audio systemat a desired volume level, has the lights in the living room at aparticular dim setting, has the window shades closed, and has the livingroom at a particular temperature setting. The user can configure thisroutine as a scene (e.g., an evening scene) with an associated uniquegesture that may be performed on the device controller 222 directlyconnected to the various home devices needed for the scene, and/or adifferent device controller in which the control commands implement thescene are transmitted via the mesh bridge 240. It is contemplated thatthe unique gesture may be device controller specific—meaning that theunique gesture may only by performed on one device controller (e.g.,232) to implement the scene in a different area of the dwelling—or canbe generally performed on any device controller 202, 212, 222, 232 toexecute the scene. In still further examples, a unique gesture may beconfigured by the user that creates multiple scenes within the smarthome environment. Accordingly, the user can associate a particulargesture on a device controller that can cause a set of control commandsto be transmitted via the mesh bridge 240 to multiple other devicecontrollers to implement scenes in multiple portions of the dwelling.

Scene Implementation

FIG. 3A illustrates implementation of a scene by a device controller302, according to various aspects described herein. As described herein,the device controller 302 can be mounted to a wall of a smart homeenvironment 300, and can control a local network of controlled devices.In an example shown, the controlled devices include lighting elements312, a fan 314, a television 304, an audio system 306, a temperaturecontrol system 308, a door locking system 324, automatic window shades,smart home appliances, and any number of other load or connected devicesdescribed with various examples.

In the example shown, a user 310 can enter a particular room or portionof a dwelling and perform a gesture on the device controller 302 thatcomprises a scene trigger, which can be detected by the devicecontroller 302 and communicated to relevant smart home devices toimplement a corresponding scene. When the device controller 302 receivesthe gesture, it can implement a scene corresponding to the gesture bygenerating and transmitting control commands to the various smart homedevices needed to automatically implement the scene. For example, thescene can comprise a combination of dim levels for lighting elements312, displayed content on the television 304, a music channel or filecontent to be played on the audio device 306, a certain temperaturesetting on the temperature control system 308, activation of the fan 314at a certain setting, and/or the door locking mechanism 324 to beactivated or deactivated. Based on the various settings of the scene,the device controller 302 can generate control commands, and transmitthem to the relevant smart home devices to implement the scene. It iscontemplated that any number of scenes implemented through operation ofthe controlled devices can be configured by the user using the devicecontroller 302, as described in further detail below.

According to aspects of the device controller 302 described herein, theuser 310 can also input a unique gesture on the device controller 302that can cause a scene to be implemented in another portion of thedwelling that is controlled by a different device controller. In doingso, the device controller 302 can interpret the unique gesture andexecute connection instructions to create a mesh bridge to thedestination device controller (e.g., via one or more intermediarydevices 317). Upon receiving the unique gesture, the device controller302 can transmit commands for the scene to the intermediary device with,for example, a destination addressor identifier of the recipient devicecontroller. Upon receiving the commands, the recipient controller canimplement the scene accordingly.

As provided herein, an intermediary device 317 can comprise a wirelesshub, a smartphone, personal computer, etc. In one example, the devicecontroller 302 transmits the scene commands to a first intermediarydevice 317 via a first wireless protocol (e.g., a Bluetooth connection).If multiple intermediary devices 317 are needed, it is contemplated thatthey can communicate the scene commands using a different protocol(e.g., Wi-Fi for increased range). At the destination device controller(“to 2nd controller” as shown in FIG. 3A), a final intermediary device317 can transmit the scene commands to the destination device controllerusing the first wireless protocol.

FIG. 3B illustrates an example gesture performed by a user on a devicecontroller to implement a scene for a local network of smart devicesoperated by a second device controller, according to various examples.In the example of FIG. 3B, the user 328 can perform a unique gesture 327on the device controller 322 to implement a scene in a different portionof a dwelling using any number of settings for any number of controlleddevices, such as those shown in FIG. 3A. As an example, the user 328 hasperformed an “S” gesture with a following tap below the gesture. Theuser 328 may have previously configured this unique gesture to beassociated with a smart home scene in different room of the smart homeenvironment 300. As an example, the user 328 can perform the uniquegesture from a bedroom device controller 322, which can cause a scene tobe generated in the kitchen of the user's home, using controlled deviceslocated in or near the kitchen. Furthering the example, the gesture 327can cause the kitchen lights to turn on at a configured dim level andany number of other connected devices to activate (e.g., a coffee makerto begin brewing coffee).

As such, the user 328 can enter the smart home environment 300 andperform the unique gesture 327 on the device controller 322, which willcause an associated scene to be implemented in a different local networkaccordingly. As another example, the gesture 327 can be performed on anydevice controller within a household, which can cause a destinationcontroller to automatically turn the lights 312 on to a specific dimlevel, turn the television 304 on to a specific channel with a specificvolume level, turn on the audio system 306 (e.g., which can play audiofrom the television content), tune the audio system 306 to a specificvolume, and set the temperature control system 308 to a specifiedtemperature (e.g., seventy-two degrees Fahrenheit).

Mesh Bridging

FIG. 4 illustrates an example of a control device executing a meshbridge to communicate a set of control commands to implement a scene ina local network or another device. In various examples, a devicecontroller 402 can be used to implement control operations based on adetected user input. With reference to an example of FIG. 4, the devicecontroller 402 (e.g., such as described with an example of FIG. 1A andFIG. 1B) may detect an input from a user (e.g., touch input). The devicecontroller 402 can determine one or more control operations from theinput. The control operations may include controlling one of (i) atarget device 408 that is out of range of the first device 402 (e.g.,Bluetooth range), and/or (ii) a device controller for the target device408. To illustrate with the latter case, the target device 408 cancorrespond to a load device which connects to a load line, and thedevice controller for the target device 408 can control the load on theload line used by the target device 408. The first device 402 maycommunicate the instruction to an intermediary device 412, which in turnmay communicate the instruction to another intermediary device 410 (orto the target device 408). The intermediary device(s) 412, 410 may usean alternative wireless communication medium having longer range (e.g.,Wi-Fi).

In this way, the device controller 402 can implement control operationsto, for example, implement a scene in multiple portions of a dwelling.For example, a user may enter the house in one area, touch a devicecontroller 402 for a desired scene, and the device controller 402 maycommunicate an instruction to implement the same scene, or acomplimentary scene in another room that is outside of the wirelessrange of the device controller 402. The device controller 402 may useone or more intermediary devices to forward the communication.

Methodology

FIG. 5A illustrates a method of operating device controller 100,according to one or more examples. In describing an example of FIG. 2A,reference may be made to elements of FIGS. 1A and 1B for purpose ofillustration.

In various examples, the device controller 100 detects and interprets atouch input as a gesture (510). The device controller 100 determines ascene associated with the gesture (520), where the scene identifies oneor more devices that are to be controlled to have a particular output(e.g., setting) in accordance with a scene. The device controller 100uses one or more interfaces (e.g., interface 122 and/or a wirelesstransceiver) to implement control operations on the smart devices inaccordance with the scene (530).

FIG. 5B illustrates a method for a device controller to implementcontrol operations based on a detected user input. With reference to anexample of FIG. 4, a device controller 402 (e.g., such as described withan example of FIG. 1A and FIG. 1B) may detect an input from a user(e.g., touch input). The control device 302 can determine one or morecontrol operations from the input (540). The control operations mayinclude controlling a target device 408 that is out of range of thefirst device 302 (e.g., Bluetooth range). The first device 402 maycommunicate the instruction to an intermediary device 412, which in turnmay communicate the instruction to another intermediary device 410 (orto the target device 408). In some examples, the intermediary device(s)may use an alternative wireless communication medium having longer range(e.g., Wi-Fi) (550).

In this way, the device controller 402 can implement control operationsto, for example, implement a scene in multiple rooms or segments of ahouse (560). For example, a user may enter the house in one area, toucha control device for a desired scene, and the control device 402 maycommunicate an instruction to implement the same scene, or acomplimentary scene in another room that is outside of the wirelessrange of the control device 402. The control device 402 may use one ormore intermediary devices to forward the communication.

FIG. 6A is a flow chart describing an example method of implementing ascene via a mesh bridge, according to examples described herein. In thebelow description of FIG. 6A, reference may be made to certain featuresshown and described with respect to other drawings, such as FIGS. 3A and3B, for illustrative purposes. Referring to FIG. 6A, a device controller302 can control a set of smart devices within a local network of thedevice controller 302 (600). In various implementations, the devicecontroller 302 can receive touch inputs (e.g., taps or slide inputs) toperform basic commands for one or more light elements 312 (e.g., on/offcommands and dimming commands) (602). Additionally, the devicecontroller 302 receive gesture inputs from a user 310 (e.g., doubletaps, slide taps, touch and hold inputs, etc.) and implement anassociated scene using the controlled devices (e.g., load devices,connected and other smart devices, etc.) in its local network, asdescribed herein (604).

According to further examples, the device controller 302 can receive aunique gesture input 327 on the exterior, touch-sensitive panel (605).Based on the gesture, the device controller 302 can determine adestination controller and/or scene to be implemented by a destinationcontroller using the local network of smart devices of that controller(610). In some aspects, the device controller 302 can further determineone or more intermediary devices 317 to transmit a set of scene commandsto the destination controller. In doing so, the device controller 302can create a mesh bridge to communicate the scene commands to thedestination controller to implement the scene (615).

FIG. 6B illustrates an example method for operating a device controllerto implement a scene in multiple segments of a dwelling, according toone or more embodiments. In the below description of FIG. 6B, referencemay be made to certain features shown and described with respect toother drawings, such as FIGS. 3A and 3B, for illustrative purposes.

In examples, device controller 302 detects a sensing event using one ormore sensors (620). In one implementation, the device controller 302uses touch sensors to detect and interpret a touch input. As an additionor variation, the device controller 302 uses a proximity or presencesensor to detect a sensor event which can reflect the presence of aperson or other object. The device controller 302 can further include alocal wireless transceiver that can communicate with devices of a localnetwork (e.g., using WiFi or Bluetooth protocols). The device controller302 can be associated with a given range that defines the reach of thewireless transceiver. For example, the device controller's transceivermay lack range to reach different floors and/or distance of a dwelling.

The device controller 302 can operate to identify a scene that isassociated with the detected sensing event (624). As described withother examples, the scene can specify or otherwise define a setting oroperational aspect of one or more controlled devices of a dwelling. Thecontrolled device(s) can further include at least a target device thatis outside of the given range of the wireless transceiver of the devicecontroller 302.

The device controller 302 can further generate and transmit a set ofscene commands to one or more controlled devices of the dwelling (628),where the scene commands cause the one or more controlled devices toimplement a scene that is associated with the sensing event. Inexamples, the scene commands can select controlled devices that areidentified by the associated scene of the detected sensing event.Further, the scene commands can specify values for settings of thespecified controlled devices, where the setting values are specified orotherwise defined by the associated scene.

In transmitting the scene commands, the device controller 302 cantransmit at least a first scene command for a target device that isoutside of the given range of the wireless transceiver (630).

In some examples, the device controller 302 can communicate with a firstintermediary device that is within the given range of the wirelesstransceiver to cause the first intermediary device to form a mesh bridgeto the target device (632). The first intermediary device can, forexample communicate with the device controller to determine an addressor other identifier of the target device. In some examples, the firstintermediary device corresponds to another device controller. Invariations, the first intermediary device corresponds to a mobilecomputing device of a user.

The device controller 302 can transmit at least the first scene commandto the target device using the mesh bridge (634). In some examples, thedevice controller 302 can transmit the first scene commandsimultaneously (or near simultaneously) with instructions that cause thefirst intermediary device to locate or otherwise identify the targetdevice, and forward the first scene command to the target device. Invariations, the first intermediary device converts or transforms thefirst scene command for the target device. The target device can receivethe first scene command, and in response, the target device implements asetting or operational aspect of the associated scene.

In some variations, the device controller 302 communicates with thefirst intermediary device to cause the first intermediary device tocommunicate the first scene command to the target device using a secondintermediary device. For example, the second intermediary device can beused when the target device is also outside of the range of the firstintermediary device, but within reach of the second intermediary device(and the second intermediary device is outside the range of the devicecontroller).

Still further, in some variations, the target device can correspond to adevice controller for a load device where the setting or operationalaspect is to be implemented. For example, the first intermediary devicecan forward the first scene command to a wall-mounted device controllerthat controls a power output on a load line of the dwelling. Thewall-mounted device controller can then implement control operationsthat controls the power output of the load line, so as to cause thetarget device to implement, for example, a predetermined setting.

By way of example, the target device can correspond to a lighting devicethat is controlled by a wireless (or smart) light switch, and the scenemay specify a power or dimming level for the lighting device. The devicecontroller 302 can respond to a sensing event (e.g., user input) in onepart of a dwelling (e.g., garage) by sending a first scene command to aswitch controller in another portion of the dwelling (e.g., upstairsbedroom). In turn, the switch controller can adjust the power level onthe load line used by the lighting device.

Hardware Diagram

FIG. 7 is a hardware diagram illustrating a computing device 700 uponwhich example device controllers described herein may be implemented. Invarious examples, the computing system 700 can comprise the logic andprocessing performed via user interaction with the device controller 100as shown and described with respect to FIGS. 1-6. In one implementation,the computing system 700, or device controller 700 (usedinterchangeably) includes processing resources 710, a main memory 720, aread-only memory (ROM) 730, and a communication interface 750. Thecomputing system 700 includes at least one processor 710 for processinginformation stored in the main memory 720, such as provided by arandom-access memory (RAM) or other dynamic storage device, for storinginformation and instructions which are executable by the processor 710.

As provided herein, a sensing module 120 of the device controller 100can comprise the processor 710 or combination of the processor 710 andmain memory 720 as shown and described with respect to FIG. 7. Invarious embodiments, the sensing module 120 may be a general-purposemicroprocessor, a microcontroller, a combination of one or moremicroprocessors and/or microcontrollers acting in concert, and/or atouch sensor specific integrated circuit incorporating, or connected to,one or more of these processing configurations. The main memory 720 alsomay be used for storing temporary variables or other intermediateinformation during execution of instructions to be executed by theprocessor 710. The computing system 700 may also include the ROM 730 orother static storage device for storing static information andinstructions for the processor 710.

The communication interface 750 enables the computing device 400 tocommunicate over one or more control networks 780 (e.g., Bluetooth,Zigbee, Wi-Fi, etc.) through use of one or more wireless network links.Using the network links, the computing system 700 can communicate withone or more smart home devices, one or more servers, or third-partyintermediary communication module. The executable instructions in thememory 720 can include gesture interpretation instructions 722, whichthe computing system 700 can execute to determine gestures performed byusers on the surface of the device controller 100 and generate controlcommands for the appropriate smart devices to create a particular scene.For example, the processor 710 can execute the gesture interpretationinstructions 722 to receive signals from touch sensors 760 coupled tothe surface of the device controller 100 (e.g., the exterior panel 110and the touch groove 116) and generate control commands based on thedetected gestures to implement an associated scene.

The executable instructions stored in memory 720 can also include storedscene-gesture associations 724, which the computing system 700 canreference upon receiving a particular touch sensor signature from thetouch sensors 760. As described herein the computing system 700 may beconnected via a wired connection to one or more home devices (e.g.,light elements), or can implement wireless network protocols to connectwith smart devices via the local control network 780 to transmit thecontrol commands.

The executable instructions may also include mesh bridging instructions726, which the processor 710 executes in response to detecting a uniquegesture for a scene to be implemented by a second device controller(e.g., through operation of smart devices within the local controlnetwork of the second controller). In response to receiving the uniquegesture, the mesh bridging instructions 726 can cause the processor 710to establish a mesh bridge 785 through one or more intermediary devicesto transmit a set of scene commands to the second, destinationcontroller, as described throughout the present disclosure.

In some embodiments, the computing system 700 may be coupled to ACcontroller 790, for example by clips that provide for an electricalconnection to be made between spring clips or pogo pins on one side(e.g., the device controller 700 or the AC controller 790) andelectrically conductive pads on the corresponding side. AC controller790 may include connections to wall wiring for line, load, neutral,and/or ground wires, and in some embodiments, may include L1 and L2outputs for 3-way configurations. In some embodiments, AC controller 790may include an AC microcontroller which receives instructions from thecomputing system 700, and which may control field effect transistors,triac(s), and/or other dimming mechanisms, for example as discussedabove. In certain examples, the AC controller 790 can include a dimmingFET 795 connecting the AC controller 790 to a line wire and load wire ofexisting wiring (e.g., of a light switch). In the example shown in FIG.7, the load wire connects the AC controller 790 to the one or more wiredhome devices 770 (e.g., lights), and the line wire connects the ACcontroller 790 to a power source 799.

The processor 710 is configured with software and/or other logic toperform one or more processes, steps and other functions described withimplementations, such as described with respect to FIGS. 1 through 4Belsewhere in the present application. Examples described herein arerelated to the use of the computing system 700 for implementing thetechniques described herein. According to one example, those techniquesare performed by the computing system 700 in response to the processor710 executing one or more sequences of one or more instructionscontained in the main memory 720. Such instructions may be read into themain memory 720 from another machine-readable medium. Execution of thesequences of instructions contained in the main memory 720 causes theprocessor 710 to perform the process steps described herein. Inalternative implementations, hard-wired circuitry may be used in placeof or in combination with software instructions to implement examplesdescribed herein. Thus, the examples described are not limited to anyspecific combination of hardware circuitry and software.

It is contemplated for examples described herein to extend to individualelements and concepts described herein, independently of other concepts,ideas or systems, as well as for examples to include combinations ofelements recited anywhere in this application. Although examples aredescribed in detail herein with reference to the accompanying drawings,it is to be understood that the concepts are not limited to thoseprecise examples. As such, many modifications and variations will beapparent to practitioners skilled in this art. Accordingly, it isintended that the scope of the concepts be defined by the followingclaims and their equivalents. Furthermore, it is contemplated that aparticular feature described either individually or as part of anexample can be combined with other individually described features, orparts of other examples, even if the other features and examples make nomention of the particular feature. Thus, the absence of describingcombinations should not preclude claiming rights to such combinations.

What is claimed is:
 1. A device controller comprising: a housing; one ormore sensors provided within the housing; a control module providedwithin the housing; a wireless transceiver having a given range; whereinthe control module includes one or more processors and a memory storinginstructions that, when executed by the one or more processors, causethe control module to: detect a sensing event using the one or moresensors; identify a scene that is associated with the sensing event, thescene identifying a setting or operational aspect of one or morecontrolled devices of a dwelling, the one or more controlled devicesinclude at least a first controlled device that is outside of the givenrange of the wireless receiver; generate and transmit a set of scenecommands to the one or more controlled devices, to cause the one or morecontrolled devices to implement the scene; and wherein the one or moreprocessors transmit at least a first scene command of the set of scenecommands to the first controlled device by: communicating with a firstintermediary device that is within the given range to cause the firstintermediary device to form a mesh bridge to the first controlleddevice; and transmitting at least the first scene command to the firstcontrolled device using the mesh bridge, the first scene command causingthe first controlled device to implement a setting or operational aspectthat is specified by the scene.
 2. The device controller of claim 1,wherein the first intermediary device is a second device controllerwithin the given range of the wireless transceiver.
 3. The devicecontroller of claim 1, wherein the first intermediary device is a mobilecomputing device that is within the given range of the wirelesstransceiver.
 4. The device controller of claim 1, wherein the secondintermediary device is a second controlled device of the devicecontroller.
 5. The device controller of claim 1, wherein the one or moreprocessors transmit at least the first scene command to the firstcontrolled device by: communicating with a first intermediary devicethat is within the given range to cause the first intermediary device toform a mesh bridge to the first controlled device using a secondintermediary device.
 6. The device controller of claim 5, wherein thesecond intermediary device is outside of the given range of the devicecontroller.
 7. The device controller of claim 5, wherein the secondintermediary device is a load control device that controls a poweroutput on a load line of the first controlled device.
 8. The devicecontroller of claim 1, wherein the device controller stores multiplescenes, each scene specifying a set of settings or operational aspectsfor a set of controlled devices within a dwelling, and wherein the oneor more processors select one of the multiple scenes based at least inpart on the detected sensing event.
 9. The device controller of claim 8,wherein the one or more sensors of the control module include a set oftouch sensors, the control module using the set of touch sensors todetect and interpret touch input on a surface of the exterior panel; andwherein the one or more processors select one of the multiple scenesbased on the interpreted touch input.
 10. The device controller of claim8, wherein the one or more sensors of the control module include aproximity or presence sensor, and the control module uses an output ofthe proximity or presence sensor to select one of the multiple scenes.11. A device controller system comprising: one or more controlleddevices; and a device controller including: a housing; one or moresensors provided within the housing; a control module provided withinthe housing; a wireless transceiver having a given range; wherein thecontrol module includes one or more processors and a memory storinginstructions that, when executed by the one or more processors, causethe control module to: detect a sensing event using the one or moresensors; identify a scene that is associated with the sensing event, thescene identifying a setting or operational aspect of one or morecontrolled devices of a dwelling, the one or more controlled devicesinclude at least a first controlled device that is outside of the givenrange of the wireless receiver; generate and transmit a set of scenecommands to the one or more controlled devices, to cause the one or morecontrolled devices to implement the scene; and wherein the one or moreprocessors transmit at least a first scene command of the set of scenecommands to the first controlled device by: communicating with a firstintermediary device that is within the given range to cause the firstintermediary device to form a mesh bridge to the first controlleddevice; and transmitting at least the first scene command to the firstcontrolled device using the mesh bridge, the first scene command causingthe first controlled device to implement a setting or operational aspectthat is specified by the scene.
 12. The device controller system ofclaim 11, wherein the first intermediary device is a second devicecontroller within the given range of the wireless transceiver.
 13. Thedevice controller system of claim 11, wherein the first intermediarydevice is a mobile computing device that is within the given range ofthe wireless transceiver.
 14. The device controller system of claim 11,wherein the one or more controlled devices include a second controlleddevice, and wherein the first intermediary device is the secondcontrolled device.
 15. The device controller system of claim 11, whereinthe one or more processors transmit at least the first scene command tothe first controlled device by: communicating with a first intermediarydevice that is within the given range to cause the first intermediarydevice to form a mesh bridge to the first controlled device using asecond intermediary device.
 16. The device controller system of claim14, wherein the second intermediary device is outside of the given rangeof the device controller.
 17. The device controller system of claim 14,wherein the second intermediary device is a load control device thatcontrols a power output on a load line of the first controlled device.18. The device controller system of claim 11, wherein the devicecontroller stores multiple scenes, each scene specifying a set ofsettings or operational aspects for a set of controlled devices within adwelling, and wherein the one or more processors select one of themultiple scenes based at least in part on the detected sensing event.19. The device controller system of claim 17, wherein the one or moresensors of the control module include a set of touch sensors, thecontrol module using the set of touch sensors to detect and interprettouch input on a surface of the exterior panel; and wherein the one ormore processors select one of the multiple scenes based on theinterpreted touch input.
 20. A method for operating a controller device,the method comprising: detecting a sensing event using the one or moresensors; identifying a scene that is associated with the sensing event,the scene identifying a setting or operational aspect of one or morecontrolled devices of a dwelling, the one or more controlled devicesinclude at least a first controlled device that is outside of the givenrange of the wireless receiver; generating and transmitting a set ofscene commands to the one or more controlled devices, to cause the oneor more controlled devices to implement the scene; and whereintransmitting at least a first scene command of the set of scene commandsto the first controlled device includes: communicating with a firstintermediary device that is within the given range to cause the firstintermediary device to form a mesh bridge to the first controlleddevice; and transmitting at least the first scene command to the firstcontrolled device using the mesh bridge, the first scene command causingthe first controlled device to implement a setting or operational aspectthat is specified by the scene.